#include <iostream>
using namespace std;

class Singleton{
public:
    //放在静态区
    //static Singleton  &getInstance(){
        //static Singleton s;
      //  return s;
    //}
    //静态成员函数的意义是这个成员函数的调用可以
    //不借助于对象，这个也是没有this指针的
    static Singleton * getInstance(){
        if(_ps==nullptr){
            _ps=new Singleton();
            return _ps;
        }
    }
    void print(){
        cout <<_flag<<endl;
    }
    Singleton(const Singleton & rhs)=delete;
    Singleton &operator=(const Singleton & rhs)=delete;
private:
   static Singleton *_ps;
    Singleton (){}
    int _flag=10;
};
Singleton *Singleton::_ps=nullptr;
void test(){
    //使用空指针进行调用也是可以的
    Singleton::getInstance().print();
    Singleton::getInstance().print();
}
int main(int argc, char * argv[]){
    
    return 0;
}

